package com.clkj.aimin.service.user;

import com.clkj.aimin.pojo.common.Result;
import com.clkj.aimin.pojo.helper.HelperTalk;
import com.clkj.aimin.pojo.user.*;
import com.github.pagehelper.PageInfo;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @author yawang
 * @create 2024/04/02 16:54:04
 **/
public interface UserService {
    User updateUser(User user,HttpServletRequest request);

    User getUserByOpenId(String openId);

    User getUserById(Integer userId);

    void  addHealthRecords(UserHealth health);

    UserHealth getHealthRecord(Integer userId);

    void addUserType(Integer userType,Integer num);

    List<UserType> listTypes();

    Map login(String unionId,String openId,String userName,String userImg,String userSex);

    Result updateUserTask(Integer userId, String taskName, Integer score);

    void addUserCases(Integer userId, HttpServletRequest request);


    List<UserCases> getUserCases(Integer userId, Integer type);

    void deleteUserCases(Integer userId, String ids);

    Result addUserByFamilyCode(String familyCode, String userId);

    Map userAddOrder(UserOrder userOrder,HttpServletRequest request);

    Set getUserTask(Integer userId);

    void addHelperTalk(Integer userId, Integer helpId, String content);

    List<HelperTalk> getDoctorInfo(Integer userId, Integer helper);


    Integer getUserUnRead(Integer userId);

    Map addUserOrder(Integer userId, String rechargeMoney,Integer doctorId,Integer helperId,Integer flag,Integer applyId,Integer parentId,HttpServletRequest request);

    List<UserOrder> getUserOrderDetail(Integer userId,String parentCode);

    Map getUserInfoById(Integer userId);

    List<TaskInfo> getUserTaskInfo(Integer userId);

    void paySuccess(HttpServletRequest request, HttpServletResponse response);

    Map telLogin(String tel,String password);

    String  creatCode(Integer userId);



    void payTest(Integer userId, String rechargeMoney,Integer doctorId,Integer helperId,Integer flag,Integer applyId,Integer parentId,HttpServletRequest request);

    List<User> listFamilyNum(Integer userId,String parentCode);

    List<UserOrder> listApplyList(Integer userId);

    void applyOrder(Integer orderId,Integer status,String note);

    User geren(Integer userId);

    String  erweima(Integer doctorId,Integer helperId);

    void scanMa(String code,Integer doctorId,Integer helperId);

    PageInfo listUser(Integer page,Integer size,String userName,Integer doctorId,Integer helperId,Integer userType);

    void  deleteHealth(Integer id);

    void unApplyService(Integer orderId,String orderNumber,HttpServletRequest request);

    List<UserOrder> listMyApply(Integer userId);

    List<Version> listNewVer();

    List<Version> listVer();

    void addVer(Version version);
}
